package one.stand.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author: QIK
 * @CreateDate: 2019/6/24 16:51
 */
@Data
@ApiModel("用户优惠券")
public class UserCouponResponse {

    @ApiModelProperty(value = "用户优惠券id")
    private Integer userCouponId;
    /**
     * 发放优惠券id
     */
    @ApiModelProperty(value = "优惠券详情id")
    private Long couponId;

    /**
     * 公司ID
     */
    @ApiModelProperty(value = "公司ID")
    private long companyId;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Integer userId;
    /**
     * 优惠券状态1待使用，2已使用 3 已过期
     */
    @ApiModelProperty(value = "优惠券状态1待使用，2已使用 3 已过期")
    private Integer couponState;

    @ApiModelProperty(value = "优惠券状态文本 1待使用，2已使用 3 已过期")
    private String couponStateText;
    /**
     * 拥有数量
     */
    @ApiModelProperty(value = "拥有数量")
    private Integer num;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    private Date createTime;
    /**
     * 订单编号
     */
    @ApiModelProperty(value = "订单编号")
    private String orderNum;
    /**
     * 领取时间
     */
    @ApiModelProperty(value = "领取时间")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    private Date receiveTime;
    /**
     * 发放类型，0新用户赠劵 1首页赠劵
     */
    @ApiModelProperty(value = "发放类型，0新用户赠劵 1首页赠劵")
    private Integer grantMode;

    @ApiModelProperty(value = "发放类型，0新用户赠劵 1首页赠劵")
//    新用户赠劵
//            新用户注册后,直接向用户账号赠送优惠券,刺激用户更快消费
//    首页赠劵
//            用户在发券期间第一次进入平台,则立即弹出优惠券无需手动领取,直接进入用户卡包
    private String grantModeText;

    /**
     * 用户名称
     */
    @ApiModelProperty(value = "用户名称")
    private String nickName;
    /**
     * 优惠券名称
     */
    @ApiModelProperty(value = "优惠券名称")
    private String name;
    /**
     * 优惠券折扣
     */
    @ApiModelProperty(value = "优惠券折扣")
    private BigDecimal couponDiscount;
    /**
     * 优惠券面值
     */
    @ApiModelProperty(value = "优惠券面值")
    private BigDecimal couponFaceValue;
    /**
     * 最低消费金额
     */
    @ApiModelProperty(value = "最低消费金额")
    private BigDecimal minAmount;
    /**
     * 有效开始时间
     */
    @ApiModelProperty(value = "有效开始时间")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    private Date effectiveStartTime;
    /**
     * 有效截止时间
     */
    @ApiModelProperty(value = "有效截止时间")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    private Date effectiveEndTime;
    /**
     * 发放开始时间
     */
    @ApiModelProperty(value = "发放开始时间")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    private Date grantStartTime;
    /**
     * 发放截止时间
     */
    @ApiModelProperty(value = "发放截止时间")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    private Date grantEndTime;
    /**
     * 优惠类型1满减，2折扣
     */
    @ApiModelProperty(value = "优惠类型1满减，2折扣")
    private Integer couponType;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String note;
    /**
     * 企业名称
     */
    @ApiModelProperty(value = "企业名称")
    private String companyName;

    /**
     * 商品分类
     */
    @ApiModelProperty(value = "商品分类id")
    private Integer goodstypeId;

    /**
     *
     */
    @ApiModelProperty(value = "商品id")
    private Integer goodsId;


}
